package com.office.framework.websocket;

import lombok.Data;

/**
 * 聊天消息实体
 *
 * @author 数字牧马人
 */
@Data
public class ChatMessage {

    /**
     * 消息类型：join(加入)、chat(聊天)、leave(离开)、system(系统)、error(错误)
     */
    private String type;

    /**
     * 用户名
     */
    private String username;

    /**
     * 用户昵称
     */
    private String nickname;

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 时间戳
     */
    private Long timestamp;

    /**
     * 消息ID
     */
    private String messageId;

    /**
     * 是否来自AI助手
     */
    private Boolean isAI = false;

    /**
     * AI模型名称
     */
    private String aiModel;

    public ChatMessage() {
        this.timestamp = System.currentTimeMillis();
        this.messageId = generateMessageId();
    }

    /**
     * 生成消息ID
     */
    private String generateMessageId() {
        return "msg_" + System.currentTimeMillis() + "_" + (int)(Math.random() * 1000);
    }
}
